DUA3:<000000>KITINSTAL.COM;8
 
$ !
$ !
$ !                       K I T I N S T A L . C O M 
$ !
$ !                       COPYRIGHT (C) 1986, 1987, 1988 BY
$ !                    DIGITAL EQUIPMENT CORPORATION, MAYNARD
$ !                     MASSACHUSETTS.  ALL RIGHTS RESERVED.
$ !
$ !  THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
$ !  ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
$ !  OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES
$ !  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER
$ !  PERSON.  NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
$ !
$ !  THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
$ !  SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
$ !
$ !  DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
$ !  SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
$ !
$ !***************************************************************************
$ !**********************************************************************
$ !**                                                                  **
$ !**                                                                  **
$ !**           VAX FORTRAN V4 Installation Procedure                  **
$ !**                        For VMSINSTAL                             **
$ !**                                                                  **
$ !**                                                                  **
$ !**********************************************************************
$ !**********************************************************************
$ !
$ !**********************************************************************
$ !*    The following are required by VMSINSTAL....
$ !**********************************************************************
$ !
$       ON      CONTROL_Y -
        THEN    VMI$CALLBACK CONTROL_Y
$       ON      WARNING -
        THEN    GOTO    FORT_INSTALL_WARNING
$ !
$ !**********************************************************************
$ !*    If DEBUGging, set verify on.
$ !**********************************************************************
$ !
$       FORT$VERIFY = F$VERIFY (P2)
$ !
$ !**********************************************************************
$ !*    Must be VMS V4.0 or later...
$ !**********************************************************************
$ !
$ CHECK_VMS_VERSION:
$       ON ERROR THEN GOTO BAD_VMS_VERSION              ! Version check may blow up on pre-V4 system
$       VMI$REQUIRED == "040"
$       FORTSTR$VMS == 0
$       !
$       ! grab RELASED, UPGRADE, or UPDATE keyword
$       VMI_TYPE= F$ELEMENT(0,",",VMI$VMS_VERSION)
$       VMI_TYPE = F$ELEMENT(0," ",VMI_TYPE)    ! Ignore FT if there
$       !
$       ! grab VMS version number       
$       VMI_VERSION = F$ELEMENT(1,",",VMI$VMS_VERSION)
$       !
$       ! if UPGRADE version number is "meaningless"
$       IF VMI_TYPE .NES. "UPGRADE" THEN GOTO CONTINUE_VERSION_CHECK
$       VMI$CALLBACK MESSAGE I UPGRDVMS -
           "Assuming VMS version is V4.0 or greater"
$       GOTO CHECK_VMS_VERSION_END
$ CONTINUE_VERSION_CHECK:
$       IF F$EXTR(0,3,VMI_VERSION) .GES. F$EXTR(0,3,VMI$REQUIRED) -
         THEN FORTSTR$VMS == 1
$       IF FORTSTR$VMS THEN GOTO CHECK_VMS_VERSION_END
$ BAD_VMS_VERSION:
$       VMI$CALLBACK MESSAGE E BADVMS1 -
           "This kit requires VMS V4.0 (or later) for correct installation."
$       VMI$CALLBACK MESSAGE E BADVMS2 -
           "Please install VMS V4.0 (or later) before installing VAX FORTRAN."
$       $STATUS = VMI$_FAILURE
$       GOTO FORT_INSTALL_WARNING
$ !
$ CHECK_VMS_VERSION_END:
$       ON ERROR THEN GOTO FORT_INSTALL_WARNING ! back to normal error mode
$ !
$ !**********************************************************************
$ !*    Check the parameters for VMSINSTAL functions....
$ !**********************************************************************
$ !
$       IF      P1 .EQS. "VMI$_INSTALL" -
        THEN    GOTO    FORT_INSTALL
$       IF      P1 .EQS. "VMI$_IVP" -
        THEN    GOTO    FORT_IVP
$       FORT$VERIFY = F$VERIFY (FORT$VERIFY)
$       EXIT    VMI$_UNSUPPORTED
$ FORT_INSTALL:
$ !
$ !**********************************************************************
$ !*    Purging files okay ?
$ !**********************************************************************
$ !
$       VMI$CALLBACK    SET -
                        PURGE -
                        ASK
$ !**********************************************************************
$ !*    Ask the user if he wants to install the FORTRAN compiler        *
$ !**********************************************************************
$ VMI$CALLBACK  ASK -
                FORT$FORTRAN_INSTAL -
                "Do you wish to have the VAX FORTRAN compiler installed" -
                YES -
                B
$ IF .NOT. FORT$FORTRAN_INSTAL THEN GOTO FORSYSDEF_INSTAL
$ !
$ !**********************************************************************
$ !*                                                                    *
$ !*    Install FORTRAN V4                                              *
$ !*                                                                    *
$ !**********************************************************************
$ !
$       TYPE    SYS$INPUT:

        +-------------------------------------------------------+
        |          Installation of VAX FORTRAN V4               |
        |                       Compiler                        |
        +-------------------------------------------------------+

$ !
$ !**********************************************************************
$ !*    Need at least 1500 blocks....
$ !**********************************************************************
$ !
$       VMI$CALLBACK    CHECK_NET_UTILIZATION -
                        FORT$ENOUGH_ROOM -
                        1500
$       IF      .NOT. FORT$ENOUGH_ROOM -
        THEN    VMI$CALLBACK    MESSAGE -
                                E -
                                NOROOM -
                                "This kit requires at least 1500 free disk blocks."
$       IF      .NOT. FORT$ENOUGH_ROOM -
        THEN    EXIT    VMI$_FAILURE
$ !
$ !**********************************************************************
$ !*    Safety...
$ !**********************************************************************
$ !
$       VMI$CALLBACK    SET -
                        SAFETY -
                        CONDITIONAL -
                        1400
$ !
$ !**********************************************************************
$ !*    Run the IVP ?
$ !**********************************************************************
$ !
$       TYPE    SYS$INPUT:

        This kit contains an Installation Verification Procedure
        to  verify the correct installation of the  VAX  FORTRAN
        compiler.

$       VMI$CALLBACK    SET -
                        IVP -
                        ASK
$ !
$ !**********************************************************************
$ !*    What about VAXFORUPD.MEM ?
$ !**********************************************************************
$ !
$       TYPE    SYS$INPUT:

        This kit contains a file, VAXFORUPD.MEM, summarizing the
        changes made  to the VAX FORTRAN compiler since its last
        release.

$       VMI$CALLBACK    ASK -
                        FORT$COPIES -
                        "How many copies would you like to print" -
                        0 -
                        I
$ !
$ !**********************************************************************
$ !*    "Install" VAXFORUPD.MEM, and possibly print it.
$ !**********************************************************************
$ !
$       VMI$CALLBACK    PROVIDE_FILE -
                        FORT$VAXFORUPD -
                        VAXFORUPD.MEM -
                        VMI$ROOT:[SYSUPD]
$       IF      FORT$COPIES .GT. 0 -
        THEN    VMI$CALLBACK    PRINT_FILE -
                                FORT$VAXFORUPD -
                                'FORT$COPIES
$ !
$ !**********************************************************************
$ !*    "Install" FORTRAN.EXE
$ !**********************************************************************
$ !
$       VMI$CALLBACK    PROVIDE_IMAGE -
                        FORT$FORTRAN -
                        FORTRAN.EXE -
                        VMI$ROOT:[SYSEXE]
$ !
$ !**********************************************************************
$ !*    "Install" the message files, FORTERR1.EXE and FORTERR2.EXE
$ !**********************************************************************
$ !
$       VMI$CALLBACK    PROVIDE_IMAGE -
                        FORT$FORTERR1 -
                        FORTERR1.EXE -
                        VMI$ROOT:[SYSMSG]
$       VMI$CALLBACK    PROVIDE_IMAGE -
                        FORT$FORTERR2 -
                        FORTERR2.EXE -
                        VMI$ROOT:[SYSMSG]
$ !
$ !**********************************************************************
$ !*    "Install" the CLD file, FORTV4CLD.CLD
$ !**********************************************************************
$ !
$       VMI$CALLBACK    PROVIDE_FILE -
                        FORT$FORTV4CLD -
                        FORTV4CLD.CLD -
                        VMI$ROOT:[SYSLIB]
$       VMI$CALLBACK    PROVIDE_DCL_COMMAND -
                        FORTV4CLD.CLD
$ !
$ !**********************************************************************
$ !*    "Install" FORTTEST.COM
$ !**********************************************************************
$ !
$       VMI$CALLBACK    PROVIDE_FILE -
                        FORT$FORTTEST -
                        FORTTEST.COM -
                        VMI$ROOT:[SYSTEST]
$       VMI$CALLBACK    PROVIDE_FILE -
                        FORT$FORSYSDEFTST -
                        FORSYSDEFTST.COM -
                        VMI$ROOT:[SYSTEST]
$ !
$ !**********************************************************************
$ !*                                                                    *
$ !*    Install FORSYSDEF.TLB                                           *
$ !*                                                                    *
$ !**********************************************************************
$ !
$ FORSYSDEF_INSTAL:
$ TYPE SYS$INPUT

        A new FORSYSDEF.TLB is available with this installation.

        In order to build your FORSYSDEF library, this procedure
        requires at least 5500 blocks of available  disk  space,
        most  of  which  is  used for temporary work files.  The
        FORSYSDEF library itself will  take  approximately  1500
        blocks  of  disk space upon completion of this procedure
        and will be placed in your SYS$LIBRARY area. 

                                  Note

        Before installing the kit, be sure to have read  section
        1.5.1.1, UPDATING FORSYSDEF.  It addresses  the question
        of when a new FORSYSDEF.TLB should be built.  

$ !
$ !**********************************************************************
$ !*    Ask the user if [s]he wants to build it.
$ !**********************************************************************
$ !
$       VMI$CALLBACK    ASK -
                        FORT$FORSYSDEF_INSTALLED -
                        "Do you wish to build a new FORSYSDEF.TLB" -
                        NO -
                        B
$       IF      .NOT. FORT$FORSYSDEF_INSTALLED -
        THEN    GOTO    FORT_EXIT_FORSYSDEF
$ !
$ !**********************************************************************
$ !*    Let the installer know how long it'll take....
$ !**********************************************************************
$ !
$       TYPE    SYS$INPUT

        Building FORSYSDEF.  This should take about 20 minutes.

$ !
$ !**********************************************************************
$ !*    Need at least 5500 blocks....
$ !**********************************************************************
$ !
$       VMI$CALLBACK    CHECK_NET_UTILIZATION -
                        FORT$ENOUGH_ROOM -
                        5500
$       IF      .NOT. FORT$ENOUGH_ROOM -
        THEN    VMI$CALLBACK    MESSAGE -
                                E -
                                NOROOM -
                                "This kit requires at least 5500 free disk blocks."
$       IF      .NOT. FORT$ENOUGH_ROOM -
        THEN    EXIT    VMI$_FAILURE
$ !**********************************************************************
$ !*    First, create the text library.
$ !**********************************************************************
$ !
$       LIBRARY /TEXT -
                /CREATE -
                VMI$KWD:FORSYSDEF.TLB
$ !
$ !**********************************************************************
$ !*    Define SDL$SHARE to be VMI$KWD.  This is necessary for SDL to
$ !*    activate the FORTRAN backend that is shipped in the saveset.
$ !*    Also define SDLFORTRA to be the sdl backend...for future sdl.
$ !**********************************************************************
$ !
$       DEFINE  SDL$SHARE -
                VMI$KWD:
$ !
$       DEFINE  SDLFORTRA -
                VMI$KWD:SDLFORTRA.EXE
$ !
$ !**********************************************************************
$ !*    There are a few files that are essential to this installation.
$ !*    Check to make sure these files exist.
$ !**********************************************************************
$ !
$       VMI$CALLBACK    FIND_FILE -
                        FORT$STARLETSD -
                        VMI$ROOT:[SYSLIB]STARLETSD.TLB -
                        VMI$ROOT:[SYSLIB]STARLETSD.TLB -
                        S -
                        FORT$STARLETSD_FOUND
$       IF      FORT$STARLETSD_FOUND .EQS. "S" -
        THEN    GOTO    LIB_INPLACE
$       VMI$CALLBACK    MESSAGE -
                        E -
                        MISSING_LIB -
                        "The FORSYSDEF installation requires STARLETSD.TLB to be in SYS$LIBRARY."
$       FORT$FORSYSDEF_INSTALLED :== FALSE
$       GOTO    FORT_INSTALL_DONE
$ !
$ LIB_INPLACE:
$       VMI$CALLBACK    FIND_FILE -
                        FORT$SDLNPARSE -
                        VMI$ROOT:[SYSEXE]SDLNPARSE.EXE -
                        VMI$ROOT:[SYSEXE]SDLNPARSE.EXE -
                        S -
                        FORT$SDLNPARSE_FOUND
$       IF      FORT$SDLNPARSE_FOUND .EQS. "S" -
        THEN    GOTO    SDL_INPLACE
$       VMI$CALLBACK    MESSAGE -
                        E -
                        MISSING_LIB -
                        "The FORSYSDEF installation requires SDLNPARSE.EXE to be in SYS$SYSTEM."
$       EXIT    VMI$_FAILURE
$ SDL_INPLACE:
$ !
$ !**********************************************************************
$ !*    Extract the modules from SYS$LIBRARY:STARLETSD.TLB.  This text
$ !*    library contains the SDL intermediate sources.
$ !**********************************************************************
$ !
$       LIBRARY/EXT=CRF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD1.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD1.FOR)/NOPARSE VMI$KWD:STARLETSD1.SDL
$       LIBRARY/EXT=DSTDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD2.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD2.FOR)/NOPARSE VMI$KWD:STARLETSD2.SDL
$       LIBRARY/EXT=FORMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD3.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD3.FOR)/NOPARSE VMI$KWD:STARLETSD3.SDL
$       LIBRARY/EXT=LBRUSR FORT$STARLETSD/OUT=VMI$KWD:STARLETSD4.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD4.FOR)/NOPARSE VMI$KWD:STARLETSD4.SDL
$       LIBRARY/EXT=LIBCLIDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD5.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD5.FOR)/NOPARSE VMI$KWD:STARLETSD5.SDL
$       LIBRARY/EXT=LIBCQDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD6.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD6.FOR)/NOPARSE VMI$KWD:STARLETSD6.SDL
$       LIBRARY/EXT=LIBDCFDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD7.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD7.FOR)/NOPARSE VMI$KWD:STARLETSD7.SDL
$       LIBRARY/EXT=LIBMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD8.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD8.FOR)/NOPARSE VMI$KWD:STARLETSD8.SDL
$       LIBRARY/EXT=MTHMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD9.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD9.FOR)/NOPARSE VMI$KWD:STARLETSD9.SDL
$       LIBRARY/EXT=OBJFMT FORT$STARLETSD/OUT=VMI$KWD:STARLETSD10.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD10.FOR)/NOPARSE VMI$KWD:STARLETSD10.SDL
$       LIBRARY/EXT=OPCDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD11.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD11.FOR)/NOPARSE VMI$KWD:STARLETSD11.SDL
$       LIBRARY/EXT=OPDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD12.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD12.FOR)/NOPARSE VMI$KWD:STARLETSD12.SDL
$       LIBRARY/EXT=OPCMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD13.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD13.FOR)/NOPARSE VMI$KWD:STARLETSD13.SDL
$       LIBRARY/EXT=OTSMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD14.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD14.FOR)/NOPARSE VMI$KWD:STARLETSD14.SDL
$       LIBRARY/EXT=RMSDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD15.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD15.FOR)/NOPARSE VMI$KWD:STARLETSD15.SDL
$       LIBRARY/EXT=RMSUSR FORT$STARLETSD/OUT=VMI$KWD:STARLETSD16.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD16.FOR)/NOPARSE VMI$KWD:STARLETSD16.SDL
$       LIBRARY/EXT=SCRDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD17.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD17.FOR)/NOPARSE VMI$KWD:STARLETSD17.SDL
$       LIBRARY/EXT=SHRMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD18.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD18.FOR)/NOPARSE VMI$KWD:STARLETSD18.SDL
$       LIBRARY/EXT=SMGDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD19.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD19.FOR)/NOPARSE VMI$KWD:STARLETSD19.SDL
$       LIBRARY/EXT=SMGTRMPTR FORT$STARLETSD/OUT=VMI$KWD:STARLETSD20.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD20.FOR)/NOPARSE VMI$KWD:STARLETSD20.SDL
$       LIBRARY/EXT=SRMDEF FORT$STARLETSD/OUT=VMI$KWD:STARLETSD21.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD21.FOR)/NOPARSE VMI$KWD:STARLETSD21.SDL
$       LIBRARY/EXT=SSMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD22.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD22.FOR)/NOPARSE VMI$KWD:STARLETSD22.SDL
$       LIBRARY/EXT=STARDEFAE FORT$STARLETSD/OUT=VMI$KWD:STARLETSD23.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD23.FOR)/NOPARSE VMI$KWD:STARLETSD23.SDL
$       LIBRARY/EXT=STARDEFFL FORT$STARLETSD/OUT=VMI$KWD:STARLETSD24.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD24.FOR)/NOPARSE VMI$KWD:STARLETSD24.SDL
$       LIBRARY/EXT=STARDEFMP FORT$STARLETSD/OUT=VMI$KWD:STARLETSD25.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD25.FOR)/NOPARSE VMI$KWD:STARLETSD25.SDL
$       LIBRARY/EXT=STARDEFQZ FORT$STARLETSD/OUT=VMI$KWD:STARLETSD26.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD26.FOR)/NOPARSE VMI$KWD:STARLETSD26.SDL
$       LIBRARY/EXT=STARLET FORT$STARLETSD/OUT=VMI$KWD:$SYSSRVNAM.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:$SYSSRVNAM.FOR)/NOPARSE VMI$KWD:$SYSSRVNAM.SDL
$       LIBRARY/EXT=SMBMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD28.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD28.FOR)/NOPARSE VMI$KWD:STARLETSD28.SDL
$       LIBRARY/EXT=PSMMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD27.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD27.FOR)/NOPARSE VMI$KWD:STARLETSD27.SDL
$       LIBRARY/EXT=JBCMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD29.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD29.FOR)/NOPARSE VMI$KWD:STARLETSD29.SDL
$ !
$ !**********************************************************************
$ !*    Put the SYSSRVNAM module directly into FORSYSDEF - special case.
$ !**********************************************************************
$ !
$       LIBRARY/INS/TEXT VMI$KWD:FORSYSDEF.TLB VMI$KWD:$SYSSRVNAM.FOR
$       DELETE  VMI$KWD:$SYSSRVNAM.FOR;*
$       DELETE  VMI$KWD:$SYSSRVNAM.SDL;*
$ !
$       LIBRARY/EXT=STRMSG FORT$STARLETSD/OUT=VMI$KWD:STARLETSD30.SDL
$       SDL/LANG=(FORTRA=VMI$KWD:STARLETSD.FOR)/NOPARSE VMI$KWD:STARLETSD30.SDL
$ !
$ !**********************************************************************
$ !*    Now concatenate all the VMI$KWD:STARLETSD.FOR files into a large
$ !*    STARLETSD.FOR.
$ !**********************************************************************
$ !
$       COPY    VMI$KWD:STARLETSD*.FOR;* -
                VMI$KWD:BIGSTAR.FOR
$       DELETE  VMI$KWD:STARLETSD*.FOR;*
$       DELETE  VMI$KWD:STARLETSD*.SDL;*
$ !
$ !**********************************************************************
$ !*    Run the program to break up the large STARLETSD.FOR file into
$ !*    single module files.
$ !**********************************************************************
$ !
$       RUN     VMI$KWD:CUTUPSTAR
$ !
$ !**********************************************************************
$ !*    Insert the modules in the library and then delete them.
$ !**********************************************************************
$ !
$       LIBRARY/INSERT VMI$KWD:FORSYSDEF.TLB VMI$KWD:*.XXX
$       DELETE  VMI$KWD:*.XXX;*
$ !
$ !**********************************************************************
$ !*    Now insert the FORTRAN specific modules that reside in
$ !*    SYS$LIBRARY.
$ !**********************************************************************
$ !
$       VMI$CALLBACK    FIND_FILE -
                        FORT$FORIOSDEF -
                        VMI$ROOT:[SYSLIB]FORIOSDEF.FOR -
                        VMI$ROOT:[SYSLIB]FORIOSDEF.FOR -
                        S -
                        FORT$FORIOSDEF_FOUND
$       IF      FORT$FORIOSDEF_FOUND .NES. "S" -
        THEN    GOTO    FORIOSDEF_NOT_INPLACE

$       LIBRARY /REPLACE -
                VMI$KWD:FORSYSDEF.TLB -
                FORT$FORIOSDEF/MODULE=$FORIOSDEF
$       GOTO FORIOSDEF_DONE

$ FORIOSDEF_NOT_INPLACE:

$       VMI$CALLBACK    MESSAGE -
                        W -
                        MISSING_FORIOSDEF -
                        "FORIOSDEF.FOR not found in SYS$LIBRARY.  FORSYSDEF will be built without this module."

$ FORIOSDEF_DONE:
$ !
$       VMI$CALLBACK    PROVIDE_FILE -
                        FORT$FORSYSDEF -
                        FORSYSDEF.TLB -
                        VMI$ROOT:[SYSLIB]
$ !
$       DELETE  VMI$KWD:BIGSTAR.FOR;*
$ !
$ !**********************************************************************
$ !*    All done with FORSYSDEF.
$ !**********************************************************************
$ !
$ FORT_EXIT_FORSYSDEF:
$ !
$ !**********************************************************************
$ !*    All done, leave now....
$ !**********************************************************************
$ !
$ FORT_INSTALL_DONE:
$ !
$ !**********************************************************************
$ !*    Get ready to actually install FORTRAN....
$ !**********************************************************************
$ !
$ IF .NOT. (FORT$FORTRAN_INSTAL .OR. FORT$FORSYSDEF_INSTALLED) -
  THEN GOTO FORT_EXIT_SUCCESSFULLY
$       TYPE    SYS$INPUT:

        Your  VMS  system  will now be updated  to  include  the
        following new and modified file(s):

$ IF .NOT. FORT$FORTRAN_INSTAL THEN GOTO FORSYSDEF_CHECK
$       TYPE    SYS$INPUT:

        SYS$SYSTEM:FORTRAN.EXE          [new]
        SYS$MESSAGE:FORTERR1.EXE        [new]
        SYS$MESSAGE:FORTERR2.EXE        [new]
        SYS$LIBRARY:FORTV4CLD.CLD       [new]
        SYS$TEST:FORTTEST.COM           [new]
        SYS$TEST:FORSYSDEFTST.COM       [new]
        SYS$LIBRARY:DCLTABLES.EXE       [modified]
        SYS$UPDATE:VAXFORUPD.MEM        [new]
$ FORSYSDEF_CHECK:
$       IF      .NOT. FORT$FORSYSDEF_INSTALLED -
        THEN    GOTO    FORT_EXIT_SUCCESSFULLY
$       TYPE    SYS$INPUT:
        SYS$LIBRARY:FORSYSDEF.TLB       [new]
$ FORT_EXIT_SUCCESSFULLY:
$       TYPE    SYS$INPUT:

$       FORT$VERIFY = F$VERIFY (FORT$VERIFY)
$       EXIT    VMI$_SUCCESS
$ !
$ !**********************************************************************
$ !*    Installation errors....
$ !**********************************************************************
$ !
$ FORT_INSTALL_WARNING:
$       FORT$STATUS = $STATUS
$       FORT$VERIFY = F$VERIFY (FORT$VERIFY)
$       EXIT    FORT$STATUS
$ !
$ !**********************************************************************
$ !*    Validate FORTRAN's proper installation.
$ !**********************************************************************
$ !
$ FORT_IVP:
$       ON      WARNING -
        THEN    GOTO    FORT_IVP_WARNING
$       FORT$VERIFY = F$VERIFY (P2)
$       TYPE    SYS$INPUT:

        +-------------------------------------------------------+
        |           Verification Command Procedure for          |
        |                      VAX FORTRAN                      |
        +-------------------------------------------------------+

$ !
$ !**********************************************************************
$ !*    Assign FORTRAN...
$ !**********************************************************************
$ !
$       DEFINE  /NOLOG -
                FORTRAN -
                FORT$FORTRAN
$ !
$ !**********************************************************************
$ !*    Execute the test for FORSYSDEF.
$ !**********************************************************************
$ !
$       IF      .NOT. FORT$FORSYSDEF_INSTALLED -
        THEN    GOTO    NO_NEW_FORSYSDEF
$       @FORT$FORSYSDEFTST
$ NO_NEW_FORSYSDEF:
$ !
$ !**********************************************************************
$ !*    Execute FORTTEST.COM
$ !**********************************************************************
$ !
$       @FORT$FORTTEST
$       FORT$STATUS = $STATUS
$       DEASSIGN -
                FORTRAN
$       GOTO    FORT_IVP_EXIT
$ !
$ !**********************************************************************
$ !*    Warnings (and exit)
$ !**********************************************************************
$ !
$ FORT_IVP_WARNING:
$       FORT$STATUS = $STATUS
$ FORT_IVP_EXIT:
$       FORT$VERIFY = F$VERIFY (FORT$VERIFY)
$       IF      .NOT. FORT$STATUS -
        THEN    EXIT    VMI$_FAILURE
$       EXIT    VMI$_SUCCESS
